The present invention relates generally to the management of data processing systems in a network and more specifically to the automatic updating of microcode in such systems.
Data processing systems typically include various hardware elements that have microcode (alternatively called firmware) associated therewith. One example of such an element is a storage adapter that provides the capability to attach a data storage subsystem such as a RAID array to the data processing system. In addition to various hardware components including processor and memory, the adapter is provided with microcode in memory to control the operation of the adapter to transfer data between the data processing system and storage subsystem.
In many modern systems of this type, the microcode is stored in programmable memory and it is thus possible to upgrade the microcode from the level which was originally provided with the system. This allows for bug fixes to be readily implemented and also allows the provision of extra functionality to the system without the need to change the hardware. Typically these microcode upgrades are provided to the user of the system on some form of storage medium, for example disk or tape, and the user copies the upgrade to the system and then stores the upgrade in the programmable memory. More recently, upgrades have been made available via the Internet thus allowing the user more convenient access to the upgrade microcode.
Although this latter technique is relatively efficient, it requires the user of the system (who may be a network administrator in charge of many systems with differing hardware configurations) to remember details of Internet addresses (which may change) for the microcode supplier, to find the correct location for the upgrade code and to finally download it onto the system to be upgraded. It would be desirable to provide an improved technique that makes the upgrade process more user friendly.
According to a first aspect of the invention there is provided a method for facilitating the upgrading of microcode on a computer system, the method comprising: determining the current level of microcode on the computer system and associated system configuration information; sending the information on the current microcode level and associated system configuration information to a remote system connected for communication to the computer system; at the remote system, checking the current microcode level and configuration information against a database associated with the remote system; and on a determination that the current microcode level is not the latest level, notifying the user of the computer system that a more recent level is available and, in response to a request by the user, transmitting the more recent microcode level for storage on the computer system.
According to a second aspect of the present invention, there is provided apparatus for facilitating the automated upgrading of microcode on a data processing system connected for communication with a remote computer system, the apparatus comprising: means for determining the current level of microcode on the data processing system and for communicating information on the current microcode level and associated system configuration information to the remote system; means, responsive to a message from the remote system that a more recent microcode level is available, for notifying the user of the computer system that a more recent microcode level is available and, responsive to a user request, to download the more recent microcode level from the remote system.
As will be described below, the user of the computer system is thus enabled to check on the status of the microcode in the computer system by invoking a software tool to collate details of the current microcode level and associated system configuration information (for example, hardware ID, operating system information) and to send the collated information to a remote system where the microcode level is checked against a database. If the microcode is not the latest level then the user of the computer system is so notified and is given the opportunity to download the latest level for installation on the computer system. Advantageously, the computer system and remote system are connected to communicate over the Internet. Thus when the computer system user is notified that a more recent microcode level is available, the notification also includes an Internet address (or several alternative addresses) from which the latest microcode can be downloaded.
In a preferred method and apparatus, the notification to the user of the computer system that a more recent microcode level is available includes presenting a web page hyperlink to the location from which the more recent microcode level can be downloaded. Alternatively, the notification includes presenting the user with a hyperlink to a software licence agreement relevant to the more recent microcode and downloading the more recent microcode is made conditional on user acceptance of the terms and conditions of the software licence agreement
In accordance with the present invention, the computer system user who wishes to upgrade system microcode does not have to waste time finding web sites and support areas to determine whether the current microcode is the latest version nor does the user have to waste time finding and downloading the new code. In addition, the microcode supplier will be more able to disseminate new improvements and enhancements to microcode.
A preferred embodiment of the present invention will now be described, by way of example only, with reference to the accompanying drawing.